System and method for using portal systems in augmented reality virtual environments

ABSTRACT

An orthogonal or multi-dimensional fabric user interface is described herein. A remote server executes an operating system that provides a multi-dimensional fabric user interface for storing content for a particular user. The user can access select content by manipulating the multi-dimensional fabric user interface through a graphical user interface displayed on a personal mobile computing device. In this way, the user experiences and manipulates various data dimensions around the specific content they are accessing, rather than selecting a particular file structure location. The remote server also enables the user to enter a first location side of a portal and travel to a virtual representation a second actual physical location in the multi-dimensional fabric user interface from a virtual representation of a first actual physical location in the multi-dimensional fabric user interface.

TECHNICAL FIELD

The present application pertains to augmented reality virtualenvironments, and more particularly, to augmented reality virtualenvironments that contain portals that are accessible to users.

BACKGROUND Description of the Related Art

Operating systems have changed little over the past few decades. Earlyoperating systems were command driven, where a user specified aparticular file location to access data. These operating systems morphedinto the icon-based interfaces used today. Icon-based operating systemsdisplay graphical representations, or icons, of files or data. Icons areassociated with a particular file location, such that interaction withan icon by a user results in the corresponding file location beingaccessed. Accordingly, historical operating systems have been structuredaround using the file's location within the memory to access data, whichlimits the flexibility of using alternative storage structures.

Additionally, there is a continuing desire to virtually visit actualphysical locations that exist in the real world for a variety ofpurposes. This may be as basic as using a mapping software application.However, traditional mapping software is very limited in the informationthat is conveys and the user experience that it provides.

Furthermore, there is a continuing desire to improve methods of travelbetween virtual locations in an augmented reality virtual environments.The present disclosure address this and other needs.

BRIEF SUMMARY

Briefly stated, embodiments of the present disclosure are directedtowards augmented reality system for enabling enhanced functionality ina virtual environment using a multi-dimensional fabric that storescontent to be viewed within the virtual environment by a user. Themulti-dimensional fabric stores content using time and locationcoordinates, which can be accessed in the virtual environment. Theaugmented reality system enables the user to create a portal in thevirtual representation of the first actual physical location thatfacilitates travel to a virtual representation of a second actualphysical location in the multi-dimensional fabric user interface.

In some embodiments, the system comprises a personal mobile computingdevice that stores authentication information, a display device, and aremote server. The display device includes a device memory that storesdevice computer instructions and a device processor that when executingthe device computer instructions causes the display device to: determinewhen the personal mobile computing device is within range of the displaydevice; coordinate authentication between the personal mobile computingdevice and a remote server; display a multi-dimensional fabric userinterface in an Augmented Reality virtual environment that represents afirst actual physical location to the user of the personal mobilecomputing device based on valid authentication of the personal mobilecomputing device; and receive input from the user.

The remote server includes a server memory that stores server computerinstructions and a server processor that when executing the servercomputer instructions causes the remote server to: select themulti-dimensional fabric user interface that is specific for the userbased on the valid authentication of the personal mobile computingdevice; provide the multi-dimensional fabric user interface to thedisplay device; manipulate the multi-dimensional fabric user interfacebased on received input from the user via their associated plurality ofpersonal mobile computing devices; provide the manipulatedmulti-dimensional fabric user interface to the display device to bedisplayed to the user; enable the user to create a portal in the virtualrepresentation of the first actual physical location that facilitatestravel to a virtual representation of a second actual physical locationin the multi-dimensional fabric user interface, the portal having afirst location side and a second location side; enable the user to enterthe first location side of the portal and travel to the virtualrepresentation the second actual physical location in themulti-dimensional fabric user interface from the virtual representationof the first actual physical location in the multi-dimensional fabricuser interface; and while in the multi-dimensional fabric user interfacethat virtually represents a second actual physical location, enable theuser to interact with virtual objects in the virtual representation ofthe second actual physical location and other users at the virtualrepresentation of the second actual physical location to execute one ormore of the following actions: upload data, download data, post data,and live stream data.

In some embodiments of the augmented reality system for enablingenhanced functionality in a virtual environment, the remote server whenexecuting the server computer instructions further causes the remoteserver to: enable the user to look through the first location side ofthe portal and see the virtual representation of the second actualphysical location in the multi-dimensional fabric user interface fromthe virtual representation of the first actual physical location in themulti-dimensional fabric user interface. In another aspect of someembodiments, the remote server when executing the server computerinstructions further causes the remote server to: enable the user tolook through the first location side of the portal and see other usersin the virtual representation of the second actual physical location inthe multi-dimensional fabric user interface from the virtualrepresentation of the first actual physical location in themulti-dimensional fabric user interface.

In still another aspect of some embodiments, the remote server whenexecuting the server computer instructions further causes the remoteserver to: enable the user to look through the first location side ofthe portal and interact with one or more of other users, virtuallocations, and virtual events in the virtual representation of thesecond actual physical location in the multi-dimensional fabric userinterface from the virtual representation of the first actual physicallocation in the multi-dimensional fabric user interface. In yet anotheraspect of some embodiments, the remote server when executing the servercomputer instructions further causes the remote server to: enable theuser to look through the second location side of the portal and see thevirtual representation of the first actual physical location in themulti-dimensional fabric user interface from the virtual representationof the second actual physical location in the multi-dimensional fabricuser interface. In other aspects of some embodiments, the remote serverwhen executing the server computer instructions further causes theremote server to: enable the user to enter the second location side ofthe portal and travel to the virtual representation of the first actualphysical location in the multi-dimensional fabric user interface fromthe virtual representation of the second actual physical location in themulti-dimensional fabric user interface.

In some embodiments of the augmented reality system for enablingenhanced functionality in a virtual environment, the personal mobilecomputing devices are selected from a group of computers, smart phones,and smart watches. In another aspect of some embodiments, the pluralityof display devices are any device that has an accessible display screen,such as television monitor, computer monitor, tablet screen, smart phonescreen, automobile-mounted display screen, and the like. In stillanother aspect of some embodiments, the user-selectable filters areemployed by the system to control what each user sees and experiences inthe multi-dimensional fabric user interface. In yet another aspect ofsome embodiments, users with the user-selectable same filters enabledhave the same virtual experience in the multi-dimensional fabric userinterface, while users with different user-selectable filters enabledhave different virtual experience in the multi-dimensional fabric userinterface. In another aspect of some embodiments, the virtual objectsinclude stores, restaurants, vendors, offices, buildings, parking lots,parks, and the like. In still another aspect of some embodiments, themulti-dimensional fabric user interface contains at least oneadvertisement at a specific virtual location and for a specific periodof time.

In other embodiments of the augmented reality system for enablingenhanced functionality in a virtual environment, the multiple users ofthe system for augmented reality system choose to visit a specificlocation and appear as their own avatar. In another aspect of someembodiments, the multiple users of the system for augmented realitysystem choose to visit a specific location be anonymous without givingup your location.

In some embodiments of the augmented reality system for enablingenhanced functionality in a virtual environment, distance is measured inminutes by travel time-distance, not by actual distance. In anotheraspect of some embodiments, the augmented reality system relates to atravel time for specific modes of transportation. In still anotheraspect of some embodiments, the specific modes of transportation includeautomobile, bicycle, and pedestrian. In yet another aspect of someembodiments, the travel time-distance in the augmented reality systemaccounts for traffic, whether, accidents, road conditions, toll roads,one-way streets, available sidewalks, available bicycle trails,protests, and the like. In another aspect of some embodiments, thetravel time-distance in the augmented reality system is shown byconcentric “time rings” radiating out from a user that each represent anumber of minutes of elapsed time.

In one or more embodiments of the augmented reality system for enablingenhanced functionality in a virtual environment, the manipulation of themulti-dimensional fabric user interface based on the received input fromthe users include anchoring digital content to the multi-dimensionalfabric user interface. In another aspect of some embodiments, themanipulation of the multi-dimensional fabric user interface is based onthe received input from the user includes anchoring digital content to auser in the multi-dimensional fabric user interface. In yet anotheraspect of some embodiments, the system may access weather data anddisplay the weather at the first actual location at the virtualrepresentation of the first actual location (e.g., if the weather datashows rain, then it would be raining on the user's avatar as the userwalks down a street in the virtual representation of the actual physicallocation in the multi-dimensional fabric user interface). In anotherembodiment, the one or more of uploading data and downloading dataincludes purchasing a product or service, and wherein one or more ofuploading data and downloading data include selling a product orservice.

In another implementation, the present disclosure is directed towards anaugmented reality system for enabling enhanced functionality in avirtual environment, in which the system comprises a remote server. Theremote server includes a server memory that stores server computerinstructions and a server processor that when executing the servercomputer instructions cause the remote server to perform the following:provide a multi-dimensional fabric user interface to a display devicethat is a virtual representation of a first actual physical locationbased on a valid authentication of a personal mobile computing device;manipulate the multi-dimensional fabric user interface based on receivedinput from the user via their associated plurality of personal mobilecomputing devices; and provide the manipulated multi-dimensional fabricuser interface to the display device to be displayed to the user; enablethe user to create a portal in the virtual representation of the firstactual physical location that facilitates travel to a virtualrepresentation of a second actual physical location in themulti-dimensional fabric user interface, the portal having a firstlocation side and a second location side; enable the user to enter thefirst location side of the portal and travel to the virtualrepresentation the second actual physical location in themulti-dimensional fabric user interface from the virtual representationof the first actual physical location in the multi-dimensional fabricuser interface; and while in the multi-dimensional fabric user interfacethat virtually represents a second actual physical location, enable theuser to interact with virtual objects in the virtual representation ofthe second actual physical location and other users at the virtualrepresentation of the second actual physical location to execute one ormore of the following actions: upload data, download data, post data,and live stream data.

In still another embodiment, the one or more of uploading data anddownloading data includes purchasing a product or service, and whereinone or more of uploading data and downloading data include selling aproduct or service.

In yet another implementation, the present disclosure is directedtowards an augmented reality method for enabling enhanced functionalityin a virtual environment. The method includes: accessing a remote serverincluding a server processor and a server memory that stores servercomputer instructions; providing a multi-dimensional fabric userinterface to a display device that is a virtual representation of afirst actual physical location based on a valid authentication of apersonal mobile computing device; manipulating the multi-dimensionalfabric user interface based on received input from the user via theirassociated plurality of personal mobile computing devices; providing themanipulated multi-dimensional fabric user interface to the displaydevice to be displayed to the user; enabling the user to create a portalin the virtual representation of the first actual physical location thatfacilitates travel to a virtual representation of a second actualphysical location in the multi-dimensional fabric user interface, theportal having a first location side and a second location side; enablingthe user to enter the first location side of the portal and travel tothe virtual representation the second actual physical location in themulti-dimensional fabric user interface from the virtual representationof the first actual physical location in the multi-dimensional fabricuser interface; and while in the multi-dimensional fabric user interfacethat virtually represents a second actual physical location, enablingthe user to interact with virtual objects in the virtual representationof the second actual physical location and other users at the virtualrepresentation of the second actual physical location to execute one ormore of the following actions: upload data, download data, post data,and live stream data.

In some embodiments of the augmented reality method for enablingenhanced functionality in a virtual environment, the remote server whenexecuting the server computer instructions further causes the remoteserver to: enabling the user to look through the first location side ofthe portal and see the virtual representation of the second actualphysical location in the multi-dimensional fabric user interface fromthe virtual representation of the first actual physical location in themulti-dimensional fabric user interface. In another aspect of someembodiments, the remote server when executing the server computerinstructions further causes the remote server to: enabling the user tolook through the first location side of the portal and see other usersin the virtual representation of the second actual physical location inthe multi-dimensional fabric user interface from the virtualrepresentation of the first actual physical location in themulti-dimensional fabric user interface.

In still another aspect of some embodiments, the remote server whenexecuting the server computer instructions further causes the remoteserver to: enabling the user to look through the first location side ofthe portal and interact with one or more of other users, virtuallocations, and virtual events in the virtual representation of thesecond actual physical location in the multi-dimensional fabric userinterface from the virtual representation of the first actual physicallocation in the multi-dimensional fabric user interface. In yet anotheraspect of some embodiments, the remote server when executing the servercomputer instructions further causes the remote server to: enabling theuser to look through the second location side of the portal and see thevirtual representation of the first actual physical location in themulti-dimensional fabric user interface from the virtual representationof the second actual physical location in the multi-dimensional fabricuser interface. In other aspects of some embodiments, the remote serverwhen executing the server computer instructions further causes theremote server to: enabling the user to enter the second location side ofthe portal and travel to the virtual representation of the first actualphysical location in the multi-dimensional fabric user interface fromthe virtual representation of the second actual physical location in themulti-dimensional fabric user interface.

In yet another implementation, the present disclosure is directedtowards an augmented reality system for enabling enhanced functionalityin a virtual environment, in which the system comprises a remote server.The remote server includes a server memory that stores server computerinstructions and a server processor that when executing the servercomputer instructions cause the remote server to perform the following:provide a multi-dimensional fabric user interface to a display devicethat is a virtual representation of a first actual physical location ata first date and time based on a valid authentication of a personalmobile computing device; manipulate the multi-dimensional fabric userinterface based on received input from the user via their associatedplurality of personal mobile computing devices; provide the manipulatedmulti-dimensional fabric user interface to the display device to bedisplayed to the user; enable the user to create a portal in the virtualrepresentation of the first actual physical location at the first dateand time that facilitates travel to a virtual representation of a secondactual physical location at a second date and time in themulti-dimensional fabric user interface, the portal having a firstlocation side and a second location side; enable the user to enter thefirst location side of the portal and travel to the virtualrepresentation the second actual physical location at the second dateand time in the multi-dimensional fabric user interface from the virtualrepresentation of the first actual physical location at the first dateand time in the multi-dimensional fabric user interface; and while inthe multi-dimensional fabric user interface that virtually represents asecond actual physical location at the second date and time, enable theuser to interact with virtual objects in the virtual representation ofthe second actual physical location at the second date and time, andother users at the virtual representation of the second actual physicallocation at the second date and time to execute one or more of thefollowing actions: upload data, download data, post data, and livestream data.

The embodiments described in the present disclosure improve upon knowndata storage architectures, structures, processes, and techniques in avariety of different computerized technologies, such as operatingsystems, user interfaces, and social networks.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Non-limiting and non-exhaustive embodiments are described with referenceto the following drawings. In the drawings, like reference numeralsrefer to like parts throughout the various figures unless otherwisespecified.

For a better understanding, reference will be made to the followingDetailed Description, which is to be read in association with theaccompanying drawings:

FIG. 1 illustrates a context diagram of an environment that provides amulti-dimensional fabric user interface for storing content inaccordance with embodiments described herein;

FIG. 2 illustrates a graphical representation of a multi-dimensionalfabric user interface for storing content in accordance with embodimentsdescribed herein;

FIG. 3 illustrates another graphical representation of amulti-dimensional fabric user interface for storing content inaccordance with embodiments described herein;

FIG. 4A illustrates a logical flow diagram generally showing oneembodiment of a process for accessing a remote server from a displaydevice to present a graphical user interface of a multi-dimensionalfabric user interface in accordance with embodiments described herein;

FIG. 4B illustrates a logical flow diagram generally showing oneembodiment of a process for a remote server to provide a graphical userinterface of a multi-dimensional fabric user interface to a displaydevice in accordance with embodiments described herein;

FIG. 5 illustrates a multi-dimensional fabric user interface at a firsttime that is accessed from disparate virtual and physical spaces viamultiple users each having a processor-based device, in which storefronts are viewable but there are no advertisements are viewable;

FIG. 6 illustrates a multi-dimensional fabric user interface at a secondtime that is accessed from disparate virtual and physical spaces viamultiple users each having a processor-based device, in which storefronts are viewable and a first group of advertisements are viewable;

FIG. 7 illustrates a multi-dimensional fabric user interface at a thirdtime that is accessed from disparate virtual and physical spaces viamultiple users each having a processor-based device, in which storefronts are viewable and a first and second group of advertisements areviewable;

FIG. 8 illustrates a selection of filters that may be selected by a userto enable what locations and events are seen and experienced in themulti-dimensional fabric user interface, in accordance with embodimentsdescribed herein;

FIG. 9A illustrates a view of the multi-dimensional fabric userinterface with various selected filters and search parameters entered bya user to enable what locations and events are seen and experienced, inaccordance with embodiments described herein;

FIG. 9B illustrates another view of the multi-dimensional fabric userinterface with various selected filters and search parameters entered bya user to enable what locations and events are seen and experienced, inaccordance with embodiments described herein;

FIG. 9C illustrates still another view of the multi-dimensional fabricuser interface with various selected filters and search parametersentered by a user to enable what locations and events are seen andexperienced, in accordance with embodiments described herein;

FIG. 10 illustrates one embodiment of a space-time map in which a usermay perceive 120 minutes around itself, with concentric “time rings”each representing 10 additional minutes of elapsed time radiatingoutward from the user;

FIG. 11 illustrates a multi-dimensional fabric user interface in anaugmented reality system that displays the initial formation of a portala virtual representation of a first actual physical location through apersonal mobile computing device;

FIG. 12 illustrates a multi-dimensional fabric user interface in anaugmented reality system that displays the portal in a virtualrepresentation of the first actual physical location through thepersonal mobile computing device, wherein a virtual representation of asecond actual physical location is viewable through the portal;

FIG. 13 illustrates a multi-dimensional fabric user interface in anaugmented reality system that displays the virtual representation of thesecond actual physical location through the personal mobile computingdevice after the user walks through the portal;

FIG. 14 illustrates a multi-dimensional fabric user interface in anaugmented reality system that displays the portal in the virtualrepresentation of the second actual physical location through thepersonal mobile computing device, wherein the virtual representation ofthe first actual physical location is viewable through the portal;

FIG. 15 illustrates a multi-dimensional fabric user interface in anaugmented reality system that displays the virtual representation of thefirst actual physical location through the personal mobile computingdevice after the user walks back through the portal;

FIG. 16 illustrates a system diagram that describes one implementationof computing systems for implementing embodiments described herein.

DETAILED DESCRIPTION

The following description, along with the accompanying drawings, setsforth certain specific details in order to provide a thoroughunderstanding of various disclosed embodiments. However, one skilled inthe relevant art will recognize that the disclosed embodiments may bepracticed in various combinations, without one or more of these specificdetails, or with other methods, components, devices, materials, etc. Inother instances, well-known structures or components that are associatedwith the environment of the present disclosure, including but notlimited to the communication systems and networks and the automobileenvironment, have not been shown or described in order to avoidunnecessarily obscuring descriptions of the embodiments. Additionally,the various embodiments may be methods, systems, media, or devices.Accordingly, the various embodiments may be entirely hardwareembodiments, entirely software embodiments, or embodiments combiningsoftware and hardware aspects.

Throughout the specification, claims, and drawings, the following termstake the meaning explicitly associated herein, unless the contextclearly dictates otherwise. The term “herein” refers to thespecification, claims, and drawings associated with the currentapplication. The phrases “in one embodiment,” “in another embodiment,”“in various embodiments,” “in some embodiments,” “in other embodiments,”and other variations thereof refer to one or more features, structures,functions, limitations, or characteristics of the present disclosure,and are not limited to the same or different embodiments unless thecontext clearly dictates otherwise. As used herein, the term “or” is aninclusive “or” operator, and is equivalent to the phrases “A or B, orboth” or “A or B or C, or any combination thereof,” and lists withadditional elements are similarly treated. The term “based on” is notexclusive and allows for being based on additional features, functions,aspects, or limitations not described, unless the context clearlydictates otherwise. In addition, throughout the specification, themeaning of “a,” “an,” and “the” include singular and plural references.

FIG. 1 illustrates a context diagram of an augmented reality system forenabling enhanced functionality in a virtual environment in which anenvironment 100 that provides a multi-dimensional fabric user interfacefor storing content in accordance with embodiments described herein. Inthe illustrated example, environment 100 includes a remote server 102,one or more display devices 108 a-108 c, and one or more personal mobilecomputing devices.

The remote server 102 in the augmented reality system for enablingenhanced functionality in a virtual environment is configured as aremote computing system, e.g., cloud computing resources, whichimplements or executes a multi-dimensional fabric operating system 104.In various embodiments, a separate instance of the multi-dimensionalfabric operating system 104 is maintained and executing for eachseparate personal mobile computing device 124 a, 124 b. In someembodiments, the multi-dimensional fabric user interface may beimplemented as an operating shell.

Although not illustrated, the remote server 102 may also be runningvarious programs that are accessible to the users of the personal mobilecomputing devices 124 a, 124 b via the multi-dimensional fabricoperating system 104. Accordingly, the environment and system describedherein make it possible for a plurality of applications to be run in thecloud, and a user accesses a particular application by moving the fabricto that application's coordinates.

The multi-dimensional fabric operating system 104 in the augmentedreality system for enabling enhanced functionality in a virtualenvironment stores content according to a plurality of differentdimensions. In some embodiments, the content is stored based on when thecontent was captured by the user or when it was stored by the remoteserver 102 (e.g., a time stamp added to a picture when the picture wascaptured or a time stamp when the picture was uploaded to the remoteserver), where the content was captured by the user (e.g., the locationof the camera that captured the picture or a location of a displaydevice used to upload the picture from the camera to the remote server),and what the content is about (e.g., food, clothing, entertainment,transportation, etc.).

A user in the augmented reality system for enabling enhancedfunctionality in a virtual environment can access the multi-dimensionalfabric operating system 104 via a display device 108 a. The user has apersonal mobile computing device 124, which can create or obtaincontent. The user can walk up to or approach a display device 108. Thedisplay device 108 coordinates authentication of the personal mobilecomputing device 124 with the remote server 102. The user can then usethe display device 108 as a personal computer to upload content from thepersonal mobile computing device 124 to the remote server 102 using themulti-dimensional fabric operating system 104. Similarly, the user canuse the display device 108 to access content previously stored by themulti-dimensional fabric operating system 104. For example, the user canuse hand gestures, or touch interfaces, to provide input thatmanipulates a user interface displayed on the display device 108, wherethe user interface is generated by the multi-dimensional fabricoperating system 104. The remote server 102 can respond to the input byproviding an updated user interface of the multi-dimensional fabric tothe display device 108 for display to the user. Notably, the user maytransmit between the personal mobile computing device 124 b and theremote server 102 via the communication network 106, without connectingto a display device 108 in some embodiments.

FIGS. 2 and 3 illustrate graphical representations of use case examplesof a multi-dimensional fabric user interface for storing content in anaugmented reality system for enabling enhanced functionality in avirtual environment described herein.

Example fabric 200 in FIG. 2 includes a time axis 202, a location axis,and a topic axis 206. Although fabric 200 appears to be constrained ineach axis, embodiments are not so limited. Rather, fabric or graphicalenvironment is flexible, while the coordinate is fixed. This allows auser to use cruder movements, like the swipe of an arm, to achieverefined movement to arrive at the content. This also reduces the contentfootprint because it does not need to manage a file structure, whichimproves throughput to a degree that it can run entirely in the cloud.

In some embodiments, users in the multi-dimensional fabric systemnavigate by moving the environment, or fabric, to a specific content oritem. The content is placed within a 3-Dimensional structure of Time(when)+Location (where)+Topic (what), which may be in the form of amulti-dimensional coordinate system. By configuring the content in thefabric based on 3 dimensions (What, When, Where), the fabric provides apre-configured scaffold that allows a user to navigate the plurality ofcontent without the multi-dimensional fabric system fetching andorganizing it. The fabric makes discovering more relevant contentimmediately accessible.

The time axis 202 in the multi-dimensional fabric system t may bearranged as a plurality of different time periods, such as hours ordays. In various embodiments, the current time period (e.g., today) isshown in the middle column 208 c, which is shown in FIG. 3 . Thelocation axis 204 may be arranged as a plurality of different locations.In some embodiments, the content locations are selected based on adistance from a current location of the display device that is accessingthe fabric 200. For example, locations closest to the display device arearranged in the top column 210 a and the locations furthest from thedisplay device are arrange in the bottom column 210 g. Likewise, topicsmay be arranged based on themes or nearest to the display device. Forexample, food content may be in layer 212 a, entertainment content inlayer 212 b, transportation content in layer 212 c, etc. In otherembodiments, the topics may be arranged based on frequency of access tothe user based on location.

The fabric 200 in the multi-dimensional fabric system illustrates aplurality of icons 214 that each represent separate content (alsoreferred to as content 214). The content 214 is laid out in a pluralityof time periods 208 a-208 e (columns), a plurality of locations 210a-210 g (rows), and a plurality of topics 212 a-212 d (layers), usingcoordinates associated with the separate dimensions. For any given pointdefined by (What, When, Where) there is a finite amount of content ordata. As a result, users can simply point out a certain What, When, andWhere to know where something is located and can directly access it fromthat point.

In some embodiments of the augmented reality system for enablingenhanced functionality in a virtual environment, the location rows 210,time columns 208, and topic layers may be independent from one anothersuch that a user can manipulate a single axis. In other embodiments, theuser can manipulate two or more axes. For example, a user can verticallyscroll along the location axis 204 through a single column (e.g., singletime period on the time axis), such as column 208 c, without affectingthe other columns or layers, or the user can vertically scroll along thelocation axis 204 for multiple columns or multiple layers, or both.Likewise, the user can horizontally scroll along the time axis 202through a single row (e.g., single location on the location axis), suchas row 210 d, without affecting the other rows or layers, or the usercan horizontally scroll along the time axis 202 for multiple rows ormultiple layers, or both. Moreover, the user can depth scroll along thetopic axis 206 through a single layer (e.g., single topic on the topicaxis), such as layer 212 a, without affecting the other rows or columns,or the user can depth scroll along the topic axis 206 for multiple rowsor multiple columns, or both.

By providing input to one or more axes in the augmented reality systemfor enabling enhanced functionality in a virtual environment, the usercan manipulate or move the fabric 200 to access content for a specifictime, a specific location, and a specific topic. The user can scroll ona particular axis by providing one or more hand gestures. For example, ahorizontal movement of the user's arm may move the time axis 202, avertical movement of the user's arm may move the location axis 204, andan in-or-out movement of the user's arm may move the topic axis 206. Theuser can then select a specific content 214, such as the content in themiddle (along time and location axes) and on top (along the topic axis)of the fabric by moving their arm away from the display screen or bymaking a first or by opening their hand.

In some embodiments of the augmented reality system for enablingenhanced functionality in a virtual environment, the fabric will looktwo dimensional to a user, but is actually three dimensional, such thatwhen a two-dimensional point is selected by the user, the user canswitch axes to view the third dimension. And although FIG. 2 shows thetime axis 202 and the location axis 204 on this top-leveltwo-dimensional view, other combinations of axes may also be used, e.g.,time v. topic, location v. topic, or other non-illustrated axes.

Example fabric 300 in FIG. 3 is similar to fabric 200 in FIG. 2 , but isan example of how the fabric 300 can be displayable to a user outside ofa common virtual space. Examples of using a multi-dimensional fabricwithin a common virtual space are shown in FIGS. 5-7 .

In this example illustration in FIG. 3 , the current time period 302 isillustrated in a middle column with future time periods 306 a, 306 b tothe right of the current time period 302 and past time periods 304 a,304 b to the left of the current time period. Each location 310 in thecurrent time period 302 includes a plurality of topics 312. These topics312 are similar to the layers 212 in FIG. 2 .

Again, the user in the multi-dimensional fabric system can move ormanipulate the fabric 300 along one or more axes to select a particularpiece of content. Once selected, the particular content is displayed tothe user. Various embodiments, of the multi-dimensional fabric describedherein can be used for a variety of different content storagetechnologies. One example technology is the fluid timeline socialnetwork described in U.S. patent application Ser. No. 16/300,028, filedNov. 8, 2018, titled FLUID TIMELINE SOCIAL NETWORK, and issued Aug. 18,2020, as U.S. Pat. No. 10,747,414, which is incorporated herein byreference.

The operation of certain aspects of the disclosure will now be describedwith respect to FIGS. 4A and 4B. In at least one of various embodimentsof the augmented reality system for enabling enhanced functionality in avirtual environment, process 400 described in conjunction with FIG. 4Amay be implemented by or executed by a system of one or more computingdevices, such as display device 108 in FIG. 1 , and process 500described in conjunction with FIG. 4B may be implemented by or executedby a system of one or more remote computing devices, remote server 102.

FIG. 4A illustrates a logical flow diagram generally showing oneembodiment of a process 400 for accessing a remote server from a displaydevice to present a graphical user interface of a multi-dimensionalfabric in accordance with embodiments described herein.

Process 400 begins, after a start block, at decision block 402, where adetermination is made whether a personal mobile computing device of auser is within range of the display device. This determination may bemade when the personal mobile computing device is within a thresholddistance from the display device (e.g., using one or more rangedetection devices) or when the user indicates or requests to interactwith the display device. If the personal mobile computing device iswithin range of the display device, then process 400 flows to block 404;otherwise process 400 loops to decision block 402 until a personalmobile computing device is within range of the display device.

At block 404, the display device coordinates authentication between thepersonal mobile computing device and a remote server. This coordinationmay include obtaining, requesting, or otherwise forwardingauthentication keys or other information to determine the validity orauthenticity of the personal mobile computing device as being authorizedto access the remote server.

Process 400 proceeds to decision block 406, where a determination ismade whether the personal mobile computing device is validlyauthenticated with the remote server. In some embodiments, the remoteserver may provide a token, session identifier, or other instruction tothe display device indicating that the user of the personal mobilecomputing device is authorized to access the remote server via thedisplay device. If the personal mobile computing device is valid, thenprocess 400 flows to block 408; otherwise, process 400 terminates orotherwise returns to a calling process to perform other actions.

At block 408, the display device receives a display interface from theremote server for the user. In various embodiments, the displayinterface is customized for the user, such as if the user loggeddirectly onto the remote server to access personal content. As describedherein, this display interface is a multi-directional fabric that theuser can manipulate, as described herein.

Process 400 continues at block 410, where the display device presentsthe display interface to the user of the personal mobile computingdevice. In some embodiments, the display interface is displayed directlyby the display device. In other embodiments, the display interface isdisplayed via the personal mobile computing device.

Process 400 proceeds next to decision block 412, where a determinationis made whether the display device has received input from the user. Asdescribed herein, the input may be provided via a hand gesture withouttouching a screen of the display device. Such hand gesture may be aswipe left or right, swipe up or down, or movement towards or away fromthe screen of the display device. A selection input can then be receivedif the user rapidly moves their hand away from the screen of the displaydevice or if the user opens or closes his/her hand. If user input isreceived, then process 400 flows to block 414; otherwise, process 400flows to decision block 416.

At block 414, the display device transmits the user input to the remoteserver. Process 400 proceeds to decision block 416, where adetermination is made whether the personal mobile computing device isout of range of the display device (e.g., outside of a thresholddistance or the user de-activated the session. If not, process 400 loopsto block 408 to receive an updated or modified display interface (basedon the user input) and present it to the user. If the personal mobilecomputing device is out of range of the display device, then process 400flows to block 418 to terminate the authentication with the remoteserver.

After block 418, process 400 may terminate or otherwise return to acalling process to perform other actions. In some embodiments, process400 may loop to decision block 402 to wait for another personal mobilecomputing device to be within range of the display device.

FIG. 4B illustrates a logical flow diagram generally showing oneembodiment of a process 450 in the augmented reality system for enablingenhanced functionality in a virtual environment for a remote server toprovide a graphical user interface of a multi-dimensional fabric to adisplay device in accordance with embodiments described herein.

Process 450 begins, after a start block, at block 452, where anauthentication request is received at a remote server from a displaydevice for a personal mobile computing device of a user. In someembodiments, the authentication request may include encryption keys,user credentials, or other authentication information.

Process 450 proceeds to decision block 454, where a determination ismade whether the personal mobile computing device is validlyauthenticated or not. If the personal mobile computing device is valid,process 450 flows to block 456; otherwise, process 450 terminates orotherwise returns to a calling process to perform other actions.

At block 456, the remote server selects a multi-dimensional fabricdisplay interface for the user of the personal mobile computing device.In some embodiments, the remote server instantiates or accesses apreviously running version of the multi-dimensional fabric operatingsystem for the user. In various embodiments, each separate user (or agroup of multiple users) has a corresponding multi-dimensional fabricuser interface accessible via the remote server. The multi-dimensionalfabric display interface with content laid out in a fabric-likestructure based on at least time, location, and topic such that the usercan manipulate or move the fabric in one or more dimensions to selectcontent.

Process 450 proceeds to block 458, where the remote server provides theselected display interface to the display device for presentation to theuser. Process 450 continues at decision block 454, where a determinationis made whether user input has been received from the display device. Invarious embodiments, the input may be a change or selection of one ormore dimensions of the fabric or a user selection. If user input hasbeen received, process 450 flows to block 462; otherwise, process 450flows to decision block 466.

At block 462, the remote server manipulates the multi-dimensional fabricdisplay interface based on the user input. In some embodiments, themanipulated display interface may include displaying specific contentselected by the user. In other embodiments, the manipulated displayinterface may show a different section or area of the multi-dimensionalfabric user interface based on the user input.

Process 450 proceeds next to block 464, where the remote servertransmits the manipulated display interface to the display device.Process 450 continues next at decision block 466, where a determinationis made whether the authentication of the personal mobile computingdevice has terminated. In some embodiments, the display device transmitsa termination request to the remote server when the user of the personalmobile computing device walks away from or is out of range of thedisplay device. If the authentication is terminated, process 450terminates or otherwise returns to a calling process to perform otheraction; otherwise, process 450 loops to decision block 460 to receiveadditional user input from the display device.

Referring now to FIGS. 5, 6, and 7 , the system for synchronized commonvirtual spaces displays a multi-dimensional fabric user interface thatmay be accessed from disparate virtual and physical spaces by a firstuser 510 and a second user 512, each having a processor-based computingdevice, such as a computer, smart phone, smart watch, or the like, suchas the personal mobile computing devices 124 or display devices 108shown in FIG. 1 . The first user 510 and second user 512 may each enterthe multi-dimensional fabric user interface and have a synchronizedexperience if they come to the same virtual location at the same virtualtime. Additionally, as will be described in further detail below,filters are also employed by the system to control what each user 510,512 sees and experiences in the multi-dimensional fabric user interface,thus enabling user-control of the “what,” “where,” and “when.” In thismanner, the “where” is the virtual location within the multi-dimensionalfabric user interface that corresponds to an actual physical locationthat the user 510 selects to visit. Next, the “when” is the time of dayand date at which the user selects to visit. Finally, the “what” is thecontent that is visible to the user to see and interact with based onthe filters selected by the user 510.

Accordingly, the first user 510 and the second user 512 with the sameuser-selectable filters enabled have the same virtual experience in themulti-dimensional fabric user interface, while users 510, 512 withdifferent user-selectable filters enabled have different virtualexperiences in the multi-dimensional fabric user interface while stillbeing in the same common virtual space. In some embodiments of thesynchronized common virtual space, the first user 510 may interact withthe virtual location and the second user 512 (or more) in themulti-dimensional fabric user interface to buy or sell goods or content,upload content to or download content from the multi-dimensional fabric,post, live stream, and the like. In one or more embodiments, the user510 interacts with the synchronized common virtual space of themulti-dimensional fabric user interface by anchoring digital content 520to a fixed location in the multi-dimensional fabric user interface ofthe common virtual space. In other embodiments, the user 510 interactswith the synchronized common virtual space of the multi-dimensionalfabric user interface by anchoring digital content 530 to a user 510(e.g., himself, herself, or another user) in the multi-dimensionalfabric user interface of the common virtual space.

In another aspect of some embodiments of the system for synchronizedcommon virtual spaces, the first user 510 and the second user 512 enterthe multi-dimensional fabric user interface from different physicallocations, each using their own processor-based computing device. Boththe first user 510 and the second user 512 may go to a synchronizedcommon virtual space, which may be configured to represent an actuallocation in the real world. The synchronized common virtual space maycontain virtual store fronts 540 of actual stores in the physical world.The synchronized common virtual space may also contain advertisements550, 560 in the multi-dimensional fabric user interface at a specificphysical location, as shown in FIGS. 6 and 7 . Specifically, FIG. 5shows a multi-dimensional fabric user interface that provides a virtualrepresentation of an actual physical location at a first time thatcontains virtual store fronts 540 but which contains no advertisements.FIG. 6 shows a multi-dimensional fabric user interface that provides avirtual representation of an actual physical location at a second timethat contains virtual store fronts 540 and which contains advertisements550. FIG. 7 shows a multi-dimensional fabric user interface thatprovides a virtual representation of actual physical location at a thirdtime that contains virtual store fronts 540 and which containsadvertisements 550 and advertisements 560.

In some embodiments, the advertisements 550, 560 in themulti-dimensional fabric user interface at a specific physical location,such as a Billboard on a specific street (e.g., Sunset Boulevard in LosAngeles, Calif.) may display the same advertisement as in the actualphysical world, while in other embodiments the advertisements 550, 560in the multi-dimensional fabric user interface at a specific physicallocation may display different advertisements if a user 510 anchorsdifferent digital content 520 at that virtual location (which representsan actual physical location). The synchronized common virtual space iscreated by anchoring digital content 520 to virtual locations thatrepresent physical location, not by digitizing the actual physicallocations. In various embodiments, digital content 520 is anchored to alocation and time within the synchronized common virtual space by thecorresponding storage location of the content within themulti-dimensional fabric.

Various embodiments, of the multi-dimensional fabric described hereincan be used for a variety of different content storage technologies. Oneexample technology is the fluid timeline social network described inU.S. patent application Ser. No. 16/300,028, filed Nov. 8, 2018, titledFLUID TIMELINE SOCIAL NETWORK, and issued Aug. 18, 2020, as U.S. Pat.No. 10,747,414, which is incorporated herein by reference.

Significantly, the first user 510 and the second user 512 may choose tovisit not only a specific place, but also a specific time in thesynchronized common virtual spaces. For example, the first user 510 andthe second user 512 of the system for synchronized common virtual spacesmay choose to go to a specific physical location in the past at aspecific time and date (e.g., go to a concert venue when a specificconcert occurred, go to a historical location when a historical eventoccurred, go to a restaurant when a friend's birthday occurred, go to achurch when a relative's wedding occurred, and the like). As shown inFIGS. 5, 6, and 7 , in these embodiments the system for synchronizedcommon virtual spaces displays the objects and events that are anchoredto that specific location and time. This is distinct from theembodiments shown in FIGS. 2 and 3 where time and distance were used asaxes. Additionally, the first user 510 and the second user 512 of thesystem for synchronized common virtual spaces may choose to go to aspecific physical location in the future at a specific time and date(e.g., go to a concert venue when a specific concert will occur, go to ahistorical location when a historical event will likely occur, go to arestaurant when a friend's birthday will occur, go to a church when arelative's wedding will occur, and the like). Further, a user 510 maywant to go to a location in the future and see what mobile vendors(i.e., food trucks) are available at a particular location. Moreover, insome embodiments, virtual store fronts 540 are dynamically tailored withadvertisements that are set at fixed locations for a fixed time period,or as part of a live feed. A user 510 may also post advertisements 550,560 at a time adjacent to future event or sale. In various embodiments,digital content 520 is anchored to a specific time and date in thesynchronized common virtual space by the corresponding storage time ofthe content within the multi-dimensional fabric.

In one or more embodiments, the system may access weather data for thenear future and display the forecast weather at a particular locationand date at a near future date that is within weather forecastingcapabilities. Of course, the display of the recorded weather at aparticular location and date in the past or at the present may also begenerated by the system for synchronized common virtual spaces.

Examples of various user filters that can be enabled within a commonvirtual space are shown in FIG. 8 , which include Personal 910, Markets920, and Entertainment 930. These filter are presented by way of exampleonly and not by way of limitation. In some such embodiments, thePersonal 910 filter includes, by way of example only, and not by way oflimitation, sub-filters of: social 911, professional 912, travel 914,health 915, and learn 916. In the embodiment shown in FIG. 8 , theTravel filter 914 has been selected. Additionally, in some suchembodiments, the Markets 920 filter includes, by way of example only,and not by way of limitation, sub-filters of: for sale 921, real estate922, services 924, beauty 925, food 926, shops 927, pets 928.Furthermore, in some such embodiments, the Entertainment filterincludes, by way of example only, and not by way of limitation,sub-filters of: showtime, recreation, events, news, weather, adults, andthe like. As shown in FIGS. 9A, 9B, 9C, other filters include, by way ofexample only, and not by way of limitation, vendors 940, restaurants960, coffee 980, and the like.

Referring still to FIGS. 9A, 9B, and 9C, the locations or events thatare visible in each instance of the multi-dimensional fabric userinterface is controlled by the filters selected by the user. Forexample, what you see in the way of store fronts is controlled byfilters. Each party has a multi-dimensional fabric user interface, butthat interface or the content shown within the interface may appeardifferent due to their own filters. Additionally, filters may also beused in combination with search criteria to present different iterationsof the synchronized common virtual spaces. For example, in one instanceshown in FIG. 9A, the user is performing a search for nachos and thesystem retrieves numerous search results. In this instance, the filterMarkets 920 is selected, while the filters of vendors 940, restaurants960, coffee 980, are not selected. In another iteration instance shownin FIG. 9B, the user is searching for food and viewing the searchresults in a circular time-space distribution of food locations andevents. Again in this instance, the filter Markets 920 is selected,while the filters of vendors 940, restaurants 960, coffee 980, are notselected. In still another iteration instance shown in FIG. 9C, the useris searching the city of Renton for July 4th. In this iteration, theuser may be able to see and interact with various shops, advertisements,and avatars of other users that happen to be at that same location andtime, e.g., in Renton on July 4th. Once again in this instance, thefilter Markets 920 is selected, while the filters of vendors 940,restaurants 960, coffee 980, are not selected.

In some embodiments of the system for synchronized common virtualspaces, a user may select whether or not they wish to be viewable byother users when visiting a specific location and time within thesynchronized common virtual space of the multi-dimensional fabric userinterface. If the user selects to be viewable by other users whenvisiting a specific location and time within the synchronized commonvirtual space of the multi-dimensional fabric user interface, then theiravatar may be seen and interacted with by other users at that samevirtual location, date, and time. If the user selects not to be viewableby other users (i.e., anonymous) when visiting a specific location andtime within the synchronized common virtual space of themulti-dimensional fabric user interface, then their avatar may not beseen and interacted with by other users at that same virtual location,date, and time. In another aspect of some embodiments, acceptance intothe multi-dimensional fabric user interface is usually required. Theuser selection of whether or not they are to be viewable may be set bylocation, time, or a combination of location and time.

Since events are time based in their posting (e.g., anchoring in themulti-dimensional fabric user interface), a user may only see thingshappening while that user is at that location in space and time. In oneembodiment shown in FIG. 10 , a user is able to see 120 minutes 1010around himself or herself. In this embodiment, every “time ring” 1020represents an additional 10 minutes of elapsed time from the user'slocation. The “space” variable determines the circular position of thelocation or event on the map in the multi-dimensional fabric userinterface. In the embodiment shown in FIG. 10 , the left side of thescreen displays a calendar 1030 with selectable dates. Additionally, inthis embodiment shown in FIG. 10 , the right side of the screen displaysa search function 1040, search results 1050, and the mode oftransportation that relates to the “time distance” 1060 of the locationor event on the map from the user's current position. Example modes oftransportation include automobile, bicycle, and pedestrian. The “timedistance” of the location or event on the map may relate to the modes oftransportation as follows: 10 minutes if automobile is selected, 20minutes if bicycle is selected, and 30 minutes if pedestrian isselected. In some embodiments, the system dynamically accounts foradditional factors such as traffic, weather, accidents, road conditions,toll roads, one-way streets, available sidewalks, available bicycletrails, protests, and the like. In other embodiments, the system doesnot account for such additional factors, but rather has a set rate ofspeed for each of the modes of transportation.

Referring now to FIGS. 11 and 12 , in some embodiments of the augmentedreality system for enabling enhanced functionality in a virtualenvironment, the remote server 102 (shown in FIG. 1 ) enables the userto create a portal 1110. Specifically, in one or more such embodimentsthe user employs a personal mobile computing device 1130 through which avirtual representation of a first actual physical location 1120 may beseen. As shown in FIG. 11 , the remote server 102 enables the user 1150of the augmented reality system to form a portal 1110 in the virtualrepresentation of the first actual physical location 1120 as viewed in adisplay screen of the personal mobile computing device 1130. The remoteserver 102 of the augmented reality system enables the user 1150 toanchor the portal 1110 to the multi-dimensional fabric user interface inthe same manner that digital content is anchored to themulti-dimensional fabric user interface. For example, the portal 1110can be anchored to a specific location and time within amulti-dimensional fabric described herein (e.g., the virtualrepresentation of the first actual physical location 1120). In this samemanner, the user 1150 may anchor the other side of the portal 1110 toanother specific location and time within a multi-dimensional fabricdescribed herein (e.g., the virtual representation of a second actualphysical location 1140). Thus, the portal 1150 may be used to virtuallytravel in both space and time.

As shown in FIG. 12 , a multi-dimensional fabric user interface in anaugmented reality system displays a portal 1110 in a virtualrepresentation of the first actual physical location 1120 through thedisplay screen of the personal mobile computing device 1130, wherein avirtual representation of a second actual physical location 1140 isviewable through the portal 1110 once the portal 1110 is activated.Thus, the augmented reality system enables the user 1150 to look throughthe first location side of the portal 1110 and see the virtualrepresentation of the second actual physical location 1140 in themulti-dimensional fabric user interface. The portal 1110 facilitatesvirtual travel to the virtual representation of a second actual physicallocation 1140 in the multi-dimensional fabric user interface. The portal1110 has a first location side in the virtual representation of thefirst actual physical location 1120 and a second location side in thevirtual representation of a second actual physical location 1140.

Moreover, in one or more embodiments, the augmented reality systemenables the user to look through the first location side of the portal1110, as shown in FIG. 12 , and see other users (not shown) in thevirtual representation of the second actual physical location 1140 inthe multi-dimensional fabric user interface. These other users could getto that virtual representation of the second actual physical location1140 in this same manner, by creating a portal and anchoring the otherside of the portal 1110 to the virtual representation of the secondactual physical location 1140). In some such embodiments, the augmentedreality system enables the user to look through the first location sideof the portal 1110 and interact with one or more of other users, virtuallocations, and virtual events in the virtual representation of thesecond actual physical location 1140 in the multi-dimensional fabricuser interface, while still remaining in the virtual representation ofthe first actual physical location 1110 in the multi-dimensional fabricuser interface. Such interaction through the portal 1110 is similar tothe action of a customer interacting with a vender through a servicewindow. These interactions include by way of example only, and not byway of limitation: uploading data, downloading data, posting data, livestreaming data, purchasing a product or service, selling a product ofservice, anchoring digital content to the multi-dimensional fabric, andmodifying previously anchored digital content on the multi-dimensionalfabric.

Referring now to FIG. 13 , the user 1150 has now stepped into the portal1110 shown in FIG. 12 , and has been transported to the second actualphysical location 1140 where time distance rings 1444 may be seen. Insome embodiments of the augmented reality system, the remote server 102enables the user 1150 to enter the first location side of the portal1110 and virtually travel to the virtual representation the secondactual physical location 1140 in the multi-dimensional fabric userinterface. While the user 1150 is in the multi-dimensional fabric userinterface that virtually represents a second actual physical location1140, the augmented reality system enables the user to interact withvirtual objects in the virtual representation of the second actualphysical location 1140. In some embodiments, the virtual objects areselected based on their storage location and time in themulti-dimensional fabric and the corresponding location and time of thevirtual representation of the second actual physical location 1140.Additionally, the augmented reality system also enables the user tointeract with other users in the virtual representation of the secondactual physical location 1140. Again, such interactions include by wayof example only, and not by way of limitation: uploading data,downloading data, posting data, live streaming data, purchasing aproduct or service, selling a product of service, anchoring digitalcontent to the multi-dimensional fabric, and modifying previouslyanchored digital content on the multi-dimensional fabric.

In some embodiments, the virtual representation of the second actualphysical location 1140 includes the time distance rings 1444 describedabove in FIG. 10 . These time distance rings 1144 may be referred to astime ring zones. In one aspect of some such embodiments, each step thatthe user 1150 takes, moves the user in the time ring zones. In thismanner, a user 1150 can explore digital content around a large virtualarea by physically walking while holding the user's personal mobilecomputing device 1130.

In one or more various embodiments, the time ring zones may be selectedto represent any preset granularity of time, distance, or other unit ofmeasure. For example, in one embodiment of the augmented reality system,each step taken by the user 1150 while carrying the personal mobilecomputing device 1130 may translate into minutes of walking in thesecond actual physical location 1140. In another embodiment of theaugmented reality system, each step taken by the user 1150 whilecarrying the personal mobile computing device 1130 may translate intodays of walking in the second actual physical location 1140. In stillanother embodiment of the augmented reality system (e.g., a space-basedvirtual environment), each step taken by the user 1150 while carryingthe personal mobile computing device 1130 may translate into light yearsof travel in the second actual physical location 1140.

In another aspect of the augmented reality system, once the user 1150 isinside the portal 1110, the user may use “pinch” and “zoom” gesturingwith two or more fingers interfacing with the screen of the personalmobile computing device 1130 to bring digital content closer to them(e.g., pinching) or further from them (e.g., zooming). In still anotherembodiment, a user 1150 may upload any augmented reality scenery intothe multi-dimensional fabric user interface that is desired (e.g., athird actual physical location, a fourth actual physical location, fifthactual physical location, a space based theoretical physical location, apast actual physical location that no longer exists, an anticipatedfuture physical location that has not yet been built, and the like).

Referring now to FIG. 14 , in some embodiments of the augmented realitysystem, while the user 1150 is in the virtual representation of thesecond actual physical location 1140, the user 1150 may view the portal1110 in the display screen of the personal mobile computing device 1130and see the virtual representation of the first actual physical location1120 through the portal 1110. As discussed with respect to the otherside of the portal 1110, the augmented reality system enables the userto look through the second location side of the portal 1110, as shown inFIG. 14 , and see other users (not shown) in the virtual representationof the first actual physical location 1140 in the multi-dimensionalfabric user interface. In some such embodiments, the augmented realitysystem enables the user to look through the second location side of theportal 1110 and interact with one or more of other users, virtuallocations, and virtual events in the virtual representation of the firstactual physical location 1140 in the multi-dimensional fabric userinterface, while still remaining in the virtual representation of secondfirst actual physical location 1110 in the multi-dimensional fabric userinterface. As described above, these interactions include by way ofexample only, and not by way of limitation: uploading data, downloadingdata, posting data, live streaming data, purchasing a product orservice, selling a product of service, anchoring digital content to themulti-dimensional fabric, and modifying previously anchored digitalcontent on the multi-dimensional fabric.

Finally, in some embodiments shown in FIG. 15 , the augmented realitysystem enables the user to enter the second location side of the portal1110 and virtually travel back to the virtual representation of thefirst actual physical location 1120 in the multi-dimensional fabric userinterface, as shown through the display screen of the user's personalmobile computing device 1130.

In another aspect of some embodiments, the augmented reality systemenables the user 1150 to create a portal 1110 in the virtualrepresentation of the first actual physical location 1120 at a firstdate and time that facilitates virtual travel to a virtualrepresentation of a second actual physical location 1140 at a seconddate and time in the multi-dimensional fabric user interface. In someembodiments, the second date and time at the second actual physicallocation 1140 is in the past compared to the first date and time at thefirst actual physical location 1120. In other embodiments, the seconddate and time at the second actual physical location 1140 is in thefuture compared to the first date and time at the first actual physicallocation 1120. Continuing, the augmented reality system enables the user1150 to enter the first location side of the portal 1110 and virtuallytravel to the virtual representation the second actual physical location1140 at the second date and time in the multi-dimensional fabric userinterface from the virtual representation of the first actual physicallocation 1120 at the first date and time in the multi-dimensional fabricuser interface. Significantly, the augmented reality system enables theuser 1150 to interact with virtual objects in the virtual representationof the second actual physical location 1140 that existed there at thesecond date and time, whether that second date and time be in the futureor the past. For example, the second actual physical location 1140 thatexisted at the second date and time in the past could be a historicalsite that was turn down and is no longer there. In another example, thesecond actual physical location 1140 that will exist at the second dateand time in the future could be building that is planned by is not yetcomplete, or a concert that will be performed at a known date and timein the future. In another aspect of some embodiments, the augmentedreality system enables the user 1150 to interact with other users at thevirtual representation of the second actual physical location 1140 atthe second date and time to execute one or more of the followingactions: upload data, download data, post data, and live stream data.

FIG. 16 shows a system diagram that describes one implementation ofcomputing systems for implementing embodiments described herein. System600 includes remote server 102, one or more display devices 108, and oneor more personal mobile computing devices 124.

As described herein, the remote server 102 is a computing device thatcan perform functionality described herein for implementing an operatingsystem that provides a multi-dimensional fabric user interface forstoring content. One or more special purpose computing systems may beused to implement the remote server 102. Accordingly, variousembodiments described herein may be implemented in software, hardware,firmware, or in some combination thereof. The remote server 102 includesmemory 1604, one or more processors 1622, network interface 1624, otherinput/output (I/O) interfaces 1626, and other computer-readable media1628. In some embodiments, the remote server 102 may be implemented bycloud computing resources.

Processor 1622 includes one or more processing devices that executecomputer instructions to perform actions, including at least someembodiments described herein. In various embodiments, the processor 1622may include one or more central processing units (“CPU”), programmablelogic, or other processing circuitry.

Memory 1604 may include one or more various types of non-volatile and/orvolatile storage technologies. Examples of memory 1604 include, but arenot limited to, flash memory, hard disk drives, optical drives,solid-state drives, various types of random-access memory (“RAM”),various types of read-only memory (“ROM”), other computer-readablestorage media (also referred to as processor-readable storage media), orother memory technologies, or any combination thereof. Memory 1604 maybe utilized to store information, including computer-readableinstructions that are utilized by processor 1622 to perform actions,including at least some embodiments described herein.

Memory 1604 may have stored thereon multi-dimensional fabric operatingsystem 104. The multi-dimensional fabric operating system 104authenticates users of personal mobile computing devices 124 via displaydevices 108 and provides a user interface of a multi-dimensional fabricfor storing and accessing content, as described herein.

Memory 1604 may include a content database 1612 for storing content inaccordance with the multi-dimensional fabric user interface. Memory 1604may also store other programs 1610. The other programs 510 may includeother operating systems, user applications, or other computer programsthat are accessible to the personal mobile computing device 124 via thedisplay device 108.

Network interface 1624 is configured to communicate with other computingdevices, such as the display devices 108, via a communication network106. Network interface 1624 includes transmitters and receivers (notillustrated) to send and receive data associated with themulti-dimensional fabric user interface described herein.

Other I/O interfaces 1626 may include interfaces for various other inputor output devices, such as audio interfaces, other video interfaces, USBinterfaces, physical buttons, keyboards, haptic interfaces, tactileinterfaces, or the like. Other computer-readable media 1628 may includeother types of stationary or removable computer-readable media, such asremovable flash drives, external hard drives, or the like.

The display devices 108 are computing devices that are remote from theremote server 102. In some embodiments, the display devices 108 mayinclude one or more computing devices and display devices. The displaydevices 108 coordinate authentication between the personal mobilecomputing devices 124 and the remote server 102. The display devices 108receive input from the users of the personal mobile computing device 124and provide the input to the remote server 102. The display devices 108receive the graphical user interfaces for the multi-dimensional fabricuser interface to be presented to the users of the personal mobilecomputing devices 124.

One or more special-purpose computing systems may be used to implementthe display devices 108. Accordingly, various embodiments describedherein may be implemented in software, hardware, firmware, or in somecombination thereof.

The display devices 108 include memory 1640, one or more processors1650, network interface 1652, display interface 1654, and user inputinterface 1656. The memory 1640, processor 1650, and network interface1652 may be similar to, include similar components, or incorporateembodiments of memory 1604, processor 1622, and network interface 1624of remote server 102, respectively. Thus, processor 1650 includes one ormore processing devices that execute computer instructions to performactions, including at least some embodiments described herein. Invarious embodiments, the processor 1650 may include one or more CPUs,programmable logic, or other processing circuitry. The networkinterfaces 1652 is also configured to communicate with the personalmobile computing devices 124, such as via Bluetooth or other short-rangecommunication protocol or technology.

Memory 1640 may include one or more various types of non-volatile and/orvolatile storage technologies. Memory 1640 may be utilized to storeinformation, including computer-readable instructions that are utilizedby processor 1650 to perform actions, including at least someembodiments described herein. Memory 1640 may store various modules orprograms, including authentication module 1642 and user interface module1644. The authentication module 1642 may perform actions that coordinatethe authentication between the personal mobile computing devices 124 andthe remote server 102. The user interface module 1644 receives graphicaluser interface data from the remote server 102 for display orpresentation, via the display interface 1654, to the user of thepersonal mobile computing devices 124. The user interface module 1644also receives user input via the user input interface 1656 and providesthat input back to the remote server 102. In various embodiments, one ormore capacitative, radar, infrared, LIDAR, or other type of gesturecapturing sensors may be used to receive the user input. In some otherembodiments, the user interface module 1644 may receive user inputs viaother input mechanisms, such as a mouse, stylus, voice-recognition, orother input sensors. Memory 1640 may also store other programs.

The personal mobile computing devices 124 are computing devices that areremote from the display devices 108 and the remote server 102. When apersonal mobile computing device 124 is within a threshold range of thedisplay device 108 or when a user of the personal mobile computingdevice 124 activates authentication, the personal mobile computingdevice 124 provides authentication data or information to the displaydevice 108 for forwarding to the remote server 102. In variousembodiments, the personal mobile computing device 124 is separate fromthe display device 108, such that a user can walk up to a display device108 with the personal mobile computing device 124 to initiate theprocess described herein to have the display device 108 present the userinterface of the multi-dimensional fabric received from the remoteserver 102. The user can then provide input to the display device 108,such as with hand gestures or arm movement, to manipulate themulti-dimensional fabric user interface and select content for display.

One or more special-purpose computing systems may be used to implementthe personal mobile computing devices 124. Accordingly, variousembodiments described herein may be implemented in software, hardware,firmware, or in some combination thereof.

The personal mobile computing devices 124 include memory 1660, one ormore processors 1664, and a network interface 1666. The memory 1660,processor 1664, and network interface 1666 may be similar to, includesimilar components, or incorporate embodiments of memory 1640, processor1650, and network interfaces 1652 of display devices 108, respectively.Thus, processor 1664 includes one or more processing devices thatexecute computer instructions to perform actions, including at leastsome embodiments described herein. In various embodiments, the processor1664 may include one or more CPUs, programmable logic, or otherprocessing circuitry. The network interface 1666 is configured tocommunicate with the display devices 108, but not with the remote server102.

Memory 1660 may include one or more various types of non-volatile and/orvolatile storage technologies. Memory 1660 may be utilized to storeinformation, including computer-readable instructions that are utilizedby processor 1666 to perform actions, including at least someembodiments described herein. Memory 1660 may store various modules orprograms, including authentication module 1662. The authenticationmodule 1662 may perform actions to communicate authenticationinformation to a display device 108 when within a threshold distancefrom the display device or when activated by a user.

The various embodiments described above can be combined to providefurther embodiments. These and other changes can be made to theembodiments in light of the above-detailed description. In general, inthe following claims, the terms used should not be construed to limitthe claims to the specific embodiments disclosed in the specificationand the claims but should be construed to include all possibleembodiments along with the full scope of equivalents to which suchclaims are entitled. Accordingly, the claims are not limited by thedisclosure.

The invention claimed is:
 1. An augmented reality system for enablingenhanced functionality in an environment, the system comprising: apersonal mobile computing device that stores authentication information,the personal mobile computing device including a device memory thatstores device computer instructions and a device processor that whenexecuting the device computer instructions causes the personal mobilecomputing device to: coordinate authentication between the personalmobile computing device and a remote server; display a multi-dimensionalfabric user interface in an Augmented Reality virtual environment thatrepresents a first actual physical location to the user of the personalmobile computing device based on valid authentication of the personalmobile computing device; and receive input from the user; and the remoteserver includes a server memory that stores server computer instructionsand a server processor that when executing the server computerinstructions causes the remote server to: select the multi-dimensionalfabric user interface that is specific for the user based on the validauthentication of the personal mobile computing device; manipulate themulti-dimensional fabric user interface to the user based on receivedinput from the user via the associated personal mobile computing device;enable the user to create a portal in the virtual representation of thefirst actual physical location that facilitates travel to a virtualrepresentation of a second actual physical location in themulti-dimensional fabric user interface, the portal having a firstlocation side and a second location side; enable the user to enter thefirst location side of the portal and travel to the virtualrepresentation of the second actual physical location in themulti-dimensional fabric user interface from the virtual representationof the first actual physical location in the multi-dimensional fabricuser interface; enable the user to look through the first location sideof the portal on the personal mobile device and interact with one ormore of other users, virtual locations, and virtual events in thevirtual representation of the second actual physical location in themulti-dimensional fabric user interface from the virtual representationof the first actual physical location in the multi-dimensional fabricuser interface; and while in the multi-dimensional fabric user interfacethat virtually represents the second actual physical location, enablethe user to interact with virtual objects in the virtual representationof the second actual physical location and other users at the virtualrepresentation of the second actual physical location to execute one ormore of the following actions: upload data, download data, post data,and live stream data.
 2. The system of claim 1, wherein the remoteserver when executing the server computer instructions further causesthe remote server to: enable the user to look through the first locationside of the portal on the personal mobile device and see the virtualrepresentation of the second actual physical location in themulti-dimensional fabric user interface from the virtual representationof the first actual physical location in the multi-dimensional fabricuser interface.
 3. The system of claim 1, wherein the remote server whenexecuting the server computer instructions further causes the remoteserver to: enable the user to look through the first location side ofthe portal on the personal mobile device and see other users in thevirtual representation of the second actual physical location in themulti-dimensional fabric user interface from the virtual representationof the first actual physical location in the multi-dimensional fabricuser interface.
 4. The system of claim 1, wherein the remote server whenexecuting the server computer instructions further causes the remoteserver to: enable the user to look through the second location side ofthe portal on the personal mobile device from the virtual representationof the second actual physical location in the multi-dimensional fabricuser interface and see the virtual representation of the first actualphysical location in the multi-dimensional fabric user interface.
 5. Thesystem of claim 1, wherein the remote server when executing the servercomputer instructions further causes the remote server to: enable theuser to enter the second location side of the portal on the personalmobile device from the virtual representation of the second actualphysical location in the multi-dimensional fabric user interface andtravel to the virtual representation of the first actual physicallocation in the multi-dimensional fabric user interface.
 6. The systemof claim 1, wherein the server processor executes further servercomputer instructions that further cause the remote server to: enablefilters that control sights and experiences that are visible andavailable to the user in the multi-dimensional fabric user interface. 7.The system of claim 1, wherein the server processor executes furtherserver computer instructions that further cause the remote server to:enable users with same user-selectable filters selected to have a samevirtual experience in the multi-dimensional fabric user interface, andenable the users with different user-selectable filters selected to havedifferent virtual experiences in the multi-dimensional fabric userinterface.
 8. The system of claim 1 wherein the environment is a virtualenvironment.
 9. The system of claim 1 wherein the environment is ahybrid actual physical environment and a virtual environment.
 10. Thesystem of claim 1, wherein the server processor executes further servercomputer instructions that further cause the remote server to: enableadvertisements in the multi-dimensional fabric user interface at aspecific virtual location and for a specific period of time.
 11. Thesystem of claim 1, wherein the server processor executes further servercomputer instructions that further cause the remote server to: enablethe user to visit a specific physical location and be anonymous withoutgiving up its location in the multi-dimensional fabric user interface.12. The system of claim 1, wherein distance in the system for augmentedreality system is measured by travel time-distance.
 13. The system ofclaim 12, wherein the server processor executes further server computerinstructions that further cause the remote server to: enable traveltime-distance in the multi-dimensional fabric user interface to bedisplayed using concentric time rings radiating out from a virtuallocation of the user, the concentric time rings each representing anumber of minutes of elapsed time.
 14. The system of claim 1, whereinthe manipulation of the multi-dimensional fabric user interface based onthe received input from the user includes anchoring digital content tothe multi-dimensional fabric user interface.
 15. The system of claim 1,wherein the manipulation of the multi-dimensional fabric user interfacebased on the received input from the user includes anchoring digitalcontent to a user in the multi-dimensional fabric user interface. 16.The system of claim 1, wherein one or more of uploading data anddownload data include purchasing a product or service, and wherein oneor more of uploading data and download data include selling a product orservice.
 17. An augmented reality remote server system for enablingenhanced functionality in an environment, the system comprising: aserver processor; a server memory that stores server computerinstructions, the server processor when executing the server computerinstructions causing the remote server to: provide a multi-dimensionalfabric user interface to a personal mobile computing device that is avirtual representation of a first actual physical location; manipulateand display the multi-dimensional fabric user interface based onreceived input from the user via the associated personal mobilecomputing device; enable the user to create a portal in the virtualrepresentation of the first actual physical location that facilitatestravel to a virtual representation of a second actual physical locationin the multi-dimensional fabric user interface, the portal having afirst location side and a second location side; enable the user to enterthe first location side of the portal and travel to the virtualrepresentation of the second actual physical location in themulti-dimensional fabric user interface from the virtual representationof the first actual physical location in the multi-dimensional fabricuser interface; enable the user to look through the first location sideof the portal on the personal mobile device and interact with one ormore of other users, virtual locations, or virtual events in the virtualrepresentation of the second actual physical location in themulti-dimensional fabric user interface from the virtual representationof the first actual physical location in the multi-dimensional fabricuser interface; and while in the multi-dimensional fabric user interfacethat virtually represents a second actual physical location, enable theuser to interact with virtual objects in the virtual representation ofthe second actual physical location and other users at the virtualrepresentation of the second actual physical location.
 18. The system ofclaim 17, wherein the augmented reality remote server system whenexecuting the server computer instructions further causes the remoteserver to: build the virtual representation of the second actualphysical location from data that is stored by location and time in amulti-dimensional fabric.
 19. An augmented reality method for enablingenhanced functionality in an environment, the method comprising:accessing a remote server including a server processor and a servermemory that stores server computer instructions; providing amulti-dimensional fabric user interface to a personal mobile computingdevice that is a virtual representation of a first actual physicallocation; manipulating the multi-dimensional fabric user interface basedon received input from the user via the associated personal mobilecomputing devices; enabling the user to create a portal in the virtualrepresentation of the first actual physical location that facilitatestravel to a virtual representation of a second actual physical locationin the multi-dimensional fabric user interface, the portal having afirst location side and a second location side; enabling the user toenter the first location side of the portal and travel to the virtualrepresentation of the second actual physical location in themulti-dimensional fabric user interface from the virtual representationof the first actual physical location in the multi-dimensional fabricuser interface; enabling the user to look through the first locationside of the portal and interact with one or more of other users, virtuallocations, and virtual events in the virtual representation of thesecond actual physical location in the multi-dimensional fabric userinterface from the virtual representation of the first actual physicallocation in the multi-dimensional fabric user interface; and while inthe multi-dimensional fabric user interface that virtually represents asecond actual physical location, enabling the user to interact withvirtual objects in the virtual representation of the second actualphysical location and other users at the virtual representation of thesecond actual physical location.
 20. The method of claim 19, furthercomprising: enabling the user to look through the first location side ofthe portal and see the virtual representation of the second actualphysical location in the multi-dimensional fabric user interface fromthe virtual representation of the first actual physical location in themulti-dimensional fabric user interface.
 21. The method of claim 19,further comprising: enabling the user to look through the first locationside of the portal and see other users in the virtual representation ofthe second actual physical location in the multi-dimensional fabric userinterface from the virtual representation of the first actual physicallocation in the multi-dimensional fabric user interface.
 22. The methodof claim 19, further comprising: enabling the user to look through thesecond location side of the portal and see the virtual representation ofthe first actual physical location in the multi-dimensional fabric userinterface from the virtual representation of the second actual physicallocation in the multi-dimensional fabric user interface.
 23. The methodof claim 19, further comprising: enabling the user to enter the secondlocation side of the portal and travel to the virtual representation ofthe first actual physical location in the multi-dimensional fabric userinterface from the virtual representation of the second actual physicallocation in the multi-dimensional fabric user interface.
 24. Anaugmented reality remote server system for enabling enhancedfunctionality in an environment, the system comprising: a serverprocessor; a server memory that stores server computer instructions, theserver processor when executing the server computer instructions causingthe remote server to: provide a multi-dimensional fabric user interfaceto a personal mobile computing device that displays a virtualrepresentation of a first actual physical location at a first date andtime; manipulate and display the multi-dimensional fabric user interfacebased on received input from the user via the associated personal mobilecomputing devices; and enable the user to create a portal in the virtualrepresentation of the first actual physical location at the first dateand time that facilitates virtual travel to a virtual representation ofa second actual physical location at a second date and time in themulti-dimensional fabric user interface, the portal having a firstlocation side and a second location side; enable the user to enter thefirst location side of the portal and virtually travel to the virtualrepresentation of the second actual physical location at the second dateand time in the multi-dimensional fabric user interface from the virtualrepresentation of the first actual physical location at the first dateand time in the multi-dimensional fabric user interface; enabling theuser to look through the first location side of the portal and interactwith one or more of other users, virtual locations, or virtual events inthe virtual representation of the second actual physical location in themulti-dimensional fabric user interface from the virtual representationof the first actual physical location in the multi-dimensional fabricuser interface; and while in the multi-dimensional fabric user interfacethat virtually represents a second actual physical location at thesecond date and time, enable the user to interact with virtual objectsin the virtual representation of the second actual physical location atthe second date and time, and other users at the virtual representationof the second actual physical location at the second date and time.